﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Lexer.SyntaxTree
{
    /// <summary>
    /// A node of a binary operation between to arguments.
    /// </summary>
    class BinaryOperationSyntaxNode : SyntaxNode
    {
        private ArgumentSyntaxNode lhs;
        private ArgumentSyntaxNode rhs;
        private String opcode;
        public ArgumentSyntaxNode LHS
        {
            get { return this.lhs; }
            set { this.lhs = value; }
        }
        public ArgumentSyntaxNode RHS
        {
            get { return this.rhs; }
            set { this.rhs = value; }
        }
        public String OpCode
        {
            get { return this.opcode; }
            set { this.opcode = value; }
        }
        public override string ToString()
        {
            return this.lhs + " " + opcode + " " + this.rhs;
        }
    }
}
